package com.spark.mock.utils;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

import java.util.MissingResourceException;

/**
 * @author ：wangshuliang
 * @date ：Created in 2021/10/11 14:21
 * @description：
 * @modified By：
 * @version: $
 */
@Slf4j
@Component
public class PropertiesUtil {


    private static Environment env = SpringUtil.getBean(Environment.class);

    /**
     * 获取配置文件的value 基于key存在 如果key不存在那么 返回null
     * * @param key
     * @return
     */
    public static String getValue(String key){
        try {
            return env.getProperty(key);
        }catch (MissingResourceException e){
            return null;
        }
    }


    /**
     * 如果配置文件中key 和 value 不存在 返回默认值
     * @param key
     * @param defaultValue
     * @return
     */
    public static String getValue(String key,String defaultValue){
        try {
            String value = env.getProperty(key);
            if(StringUtils.isEmpty(value)){
                log.info("返回的默认值value为{}",value);
                return defaultValue;
            }
            log.info("返回的value为{}",value);
            return value;
        }catch (MissingResourceException ex){
            log.info("配置文件未配置，返回的默认值key为{}",defaultValue);
            return defaultValue;
        }
    }
}
